package cn.ywsj.ywsjmidtier.entity.VO;

import cn.ywsj.ywsjmidtier.entity.BaseGroup;
import cn.ywsj.ywsjmidtier.entity.DTO.ProductDTO;
import cn.ywsj.ywsjmidtier.entity.Product;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.util.List;

/**
 * @ClassName : ProductVo
 * @Author : Lenovo
 * @Date: 2021/7/21 14:18
 * @Description :
 */
@Data
public class ProductVo {
    private Long productId;

    private Long custId;

    private Integer productNo;

    private String productType;

    @NotBlank(message = "{com.itonghui.product.productName.null}", groups = {BaseGroup.Insert.class})
    private String productName;

    private String keywords;

    @NotBlank(message = "{com.itonghui.product.productAbstract.null}", groups = {BaseGroup.Insert.class})
    private String productAbstract;

    private String productDesc;

    private String productStyle;

    private String areaId;

    private String productSite;

    private String productUnit;

    private String productUnitValue;

    private Double productPrice;

    private Double costPrice;

    private String productPriceDesc;

    private String moneytype;

    private Float highTradePrice;

    private Float lowTradePrice;

    private String applicableAddr;

    private Integer attachTag;

    private String attachId;

    private String mainVideo;

    private List<Long> mainVdeoAttach;

    private List<Long> imageAttach;

    private List<Long> imageVideoAttach;

    private String levelIdListtr;

    private String waridtr;

    private String className;

    private String classId;

    private Integer display;

    private Date displayEndDate;

    private Date displayStartDate;

    private String productAblit;

    private Integer num;

    private String miniSupply;

    private Integer salePatter;

    private Integer paymentPatter;

    private String bigImg;

    private String midImg;

    private String smallImg;

    private Integer click;

    private Integer commend;

    private String commendUserId;

    private Date commendTime;

    private Integer hotProduct;

    private Integer goodProduct;

    private String color;

    private String productKey;

    private String productPrivicy;

    private Integer listTop;

    private Long operUser;

    private Date operTime;

    private Date updateTime;

    private Long publishUserId;

    private Date publishDate;

    private Integer validity;

    private Long checkUser;

    private Date checkTime;

    private String backReason;

    private String rsrvStr1;

    private String rsrvStr2;

    private String rsrvStr3;

    private String rsrvStr4;

    private String rsrvStr5;

    private String rsrvStr6;

    private String rsrvStr7;

    private String rsrvStr8;

    private String rsrvStr9;

    private String rsrvStr10;

    private Integer autoState;

    private Integer recommendProduct;

    private Integer activetime;

    private String saleSupport;

    private String standard;

    private String webTag;

    private String brandId;

    private String brandName;

    private String productNumeric;

    private Integer productLevel;

    private String url;

    private String attrId;

    private String attrName;

    private String attrValue;

    private String attrTag;

    private String filePath;

    private String levelLogo;

    private String companyAddress;

    private String qq;

    private String sequence;

    private String price;

    private String custName;

    private String quantity;

    private String attributeValues;

    private Integer totalNum;

    private Long skuId;

    private String skuModel;

    private Double skuPrice;

    @Valid
    private List<ProductDTO> productDTOList;

    private List<DataParameterViewVo> dataParameterList;

    private Boolean sendStatus;

    private Integer minWholesaleNum;

    private Double wholesalePrice;

    private Boolean allowMix;

    private Integer freeDelivery;

    private Long templateId;

    private String deliveryAreaId;

    private String deliverySite;

    private Double weight;

    private Double volume;

    private Integer valuation;

    private String attrListId;

    private String listSkuValue;

    private String settleType;

    private Long supProductId;

    private Long factoryCustId;

    private Integer supValidity;

    private Integer packingNum;

    private String wholePackageUnitValue;

    private String wholePackageUnit;

    private Integer isMallSales;

    private String platformClassId;

    private Date hotTime;

    private String warehouseName;

    private Integer sellOut;

    private Integer inventoryPromotion;

    private Double retailPrice;

    private Integer commissionType;

    private Double commissionAmount;

    private Double commissionRate;

    private String activityName;

    private Integer aliveFlag;

    private Long addUser;

    private String areaName;

    private List<String> areaIds;

    private Long supplyCustId;

    private Long areaShieldId;

    private List<Long> levelIds;

    private Long levelShieldId;

    private Long levelId;

    private String levelName;

    private List<Long> custIds;

    private Long purchaseShieldId;

    private List<String> custNames;

    private List<Integer> buyCustTypes;

    private String paramValues;

    private Integer buyCustType;

    private List<Long> imageDetailAttach;

    private Long warehouseId;

    private Integer rebatesType;

    private Double rebatesFee;

    private Double rebatesRate;

    private List<String> productIdList;

    private String platformClassName;

    private List<Long> warehouseIds;

    private List<Long> levelIdList;

    private Integer packagingType;

    private String oldProductNumeric;

    private List<Long> groupIdList;

    private Long departmentId;

    private List<Product> productList;

    private String productLabel;

    private String firstFrame;

    private Boolean firstFrameFlag;

    private Date goodTime;

    private Date startTime;

    private Date endTime;

    private String sendError;

    private String planId;

    private String lineNo;

    private String procurementId;

    private String buyerUserId;

    private String sapCompanyCode;

    private Date deliveryTime;

    private String tradingVolume;

    private String sysId;

    private Integer queryType;

    private List<String> listId;
}
